高频SQL题
Catalogue
1.每日UV
业务意义:衡量平台用户规模、吸引力的核心指标。 核心价值:1. 追踪用户增长趋势,判断平台用户基数变化,2.评估营销活动帮效果。3.为商业推广、运营策略调整提供数据支撑。
2.最长连续登录次数
1 | SELECT |
3.拆分并统计标签字段
适用于多标签精细化分析。 社交平台 拆分用户兴趣标签,实现个性化推荐。
1 | # 实现思路:用split函数按指定分隔符将标签字符串拆为数组。用explode函数将数据展开为独立行。 |
4. 每天浏览量的TOP
思路:加上row_number 之后筛选top3。
业务意义:热门商品的趋势洞察核心指标。
5. 每日累计充值金额
注意区分:不是总体累计金额
1 |
6. 用户首购信息
1 | with firstData AS ( |
7.每月活跃用户(MAU)
1 | SELECT |
8. 会话切割
- 先给表添加 上一次请求时间。
- 然后 diff 上一次请求时间 和当前时间,大于指定值 则为新session
- 累加 生成会话ID(sessionID); 或者可统计 用户会话的次数
1 | WITH userAccessRank AS ( |
9.JSON字段解析
json_tuple()
get_json_object()
10.半连接查询
左表数据筛选、关联效率优化。
相比于 INNER JOIN(可能因右表多条匹配导致左表重复)
Hive中常用 IN 子查询 或 EXISTS 子查询实现 半连接。避免使用 INNER JOIN 导致的左表重复。
11.金额区间分桶
核心是 CASE WHEN
1 | SELECT CASE WHEN item_category = '7344' THEN 'goodsA' WHEN item_category > '10000' THEN 'goodsB' WHEN item_category <10000 THEN 'goodsC' END as goodsCategory, |